#ifndef	_LIB_DWINPORT_H_
#define	_LIB_DWINPORT_H_

#include "libdwintype.h"
#include "libdwinpt.h"

#define BUAD_RATE 				115200

#define DW_UART					USART2
#define DW_UART_RCU				RCU_USART2
#define DW_UART_IRQn			USART2_IRQn
#define DW_UART_IRQHandler		USART2_IRQHandler


#define	DW_MODULE_PORT			GPIOB
#define	DW_UTXD_MODE			GPIO_MODE_AF_PP
#define	DW_UTXD_PIN				GPIO_PIN_10
#define	DW_URXD_MODE			GPIO_MODE_IPU
#define	DW_URXD_PIN				GPIO_PIN_11

#define	DW_UART_BUFF_SIZE		(DW_BUFF_MAX*2+7)
#define	DW_VAR_BUF_MAX			(DW_BUFF_MAX)
#define	DW_REG_BUF_MAX			(DW_BUFF_MAX*2)


/**********************     变量定义      **********************/
#define VAR_DISPAGE_ADDR	0x0084			//显示页面
#define VAR_DISPAGE_LENGTH	0x2				//显示页面
#define VAR_DEVNAME_ADDR	0x1000			//设备名称
#define VAR_DEVNAME_LENGTH	0x20			//设备名称
#define VAR_PARTNUM_ADDR	0x1100			//区号
#define VAR_PARTNUM_LENGTH	0x01			//区号
#define VAR_COLNUM_ADDR		0x1110			//列号
#define VAR_COLNUM_LENGTH	0x01			//列号
#define VAR_TEMP_ADDR		0x1120			//温度
#define VAR_TEMP_LENGTH		0x01			//温度
#define VAR_HUMI_ADDR		0x1130			//湿度
#define VAR_HUMI_LENGTH		0x01			//湿度
#define VAR_ACTIVE_ADDR		0x1500			//动作
#define VAR_ACTIVE_LENGTH	0x01			//动作
#define VAR_LOCK_ADDR		0x1510			//锁定
#define VAR_LOCK_LENGTH		0x01			//锁定
#define VAR_LIGHT_ADDR		0x1520			//灯光
#define VAR_LIGHT_LENGTH	0x01			//灯光

/**********************     寄存器定义      **********************/
#define REG_TEMP_PAGE	0x00			//温度页
#define REG_TEMP_ADDR	0x10			//温度地址
#define REG_TEMP_LENGTH	0x1				//温度长度
#define REG_HUMI_PAGE	0x00			//温度页
#define REG_HUMI_ADDR	0x10			//湿度地址
#define REG_HUMI_LENGTH	0x1				//温度长度


dwBOOL dwInit(dwVOID);

dw_reg_t dw_regs_get(dwVOID);
dw_var_t dw_vars_get(dwVOID);
dwU8 dw_reg_num_get(dwVOID);
dwU8 dw_var_num_get(dwVOID);

#endif
